package com.mind.adjust.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mind.system.domain.AjRuleDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 规则明细(AjRuleDetail)表数据库访问层
 *
 * @author makejava
 * @since 2024-07-11 20:40:13
 */
public interface AjRuleDetailMapper extends BaseMapper<AjRuleDetail> {

    /**
     * 查询规则明细数据集合
     *
     * @param ruleDetail 规则明细信息
     * @return 规则明细数据集合
     */
    public List<AjRuleDetail> selectRuleDetailList(AjRuleDetail ruleDetail);
    public List<AjRuleDetail> selectRuleDetailListVo(AjRuleDetail ruleDetail);

    /**
     * 通过规则明细ID查询规则明细信息
     *
     * @param ruleDetailId 规则明细ID
     * @return 角色对象信息
     */
    public AjRuleDetail selectRuleDetailById(Long ruleDetailId);

    /**
     * 删除规则明细信息
     *
     * @param ruleDetailId 规则明细ID
     * @return 结果
     */
    public int deleteRuleDetailById(Long ruleDetailId);

    /**
     * 批量删除规则明细信息
     *
     * @param ruleDetailIds 需要删除的规则明细ID
     * @return 结果
     */
    public int deleteRuleDetailByIds(Long[] ruleDetailIds);

    /**
     * 修改规则明细信息
     *
     * @param ruleDetail 规则明细信息
     * @return 结果
     */
    public int updateRuleDetail(AjRuleDetail ruleDetail);

    /**
     * 新增规则明细信息
     *
     * @param ruleDetail 规则明细信息
     * @return 结果
     */
    public int insertRuleDetail(AjRuleDetail ruleDetail);

    /**
     * 批量新增规则明细信息
     *
     * @param ruleDetailList 规则明细信息
     * @return 结果
     */
    public int insertRuleDetailBatch(List<AjRuleDetail> ruleDetailList);


    /**
     * 根据名称查规则明细
     *
     * @param name 规则明细名称
     * @return 结果
     */
    AjRuleDetail selectRuleDetailByName(String name);

    /**
     * 根据类型查询编号
     * @param attachCate
     * @return
     */
    String selectLastByCate(@Param("attachCate") String attachCate);
}

